﻿using FluentAssertions;
using NUnit.Framework;

namespace ReactiveGraph.Core.Configuration.Tests.Containers
{
    [TestFixture]
    public abstract class ContainerTestsBase
    {

        public abstract T Resolve<T>();

        [Test]
        public void CanResolveDefaultIReactiveNode()
        {
            var reactiveNode = Resolve<IReactiveNode>();
            reactiveNode.Should().NotBeNull();
        }

        [Test]
        public void CanResolveDefaultReactiveNode()
        {
            var reactiveNode = Resolve<ReactiveNode>();
            reactiveNode.Should().NotBeNull();
        }

        [Test]
        public void NodeNameIsAutoGenerated()
        {
            var reactiveNode = Resolve<ReactiveNode>();
            reactiveNode.NodeName.Should().Be("ReactiveNode1");
        }


    }
}